package data.item;

import org.jdom.Element;

import data.Dataexception;

/**
 * Items sind die Oberklasse fuer alle Elemente des Spiels.
 * Sie erben wiederrum von Data, haben also eine ID,desweiteren
 * definieren sie den Namen und die Beschreibung.
 * 
 * @author daishy
 * @date 10.03.2008 17:21:19
 *
 */
public abstract class Item extends data.Data
{	
	/**
	 * Der Name des Items (nur zum Anzeigen)
	 */
	private String name;
	
	/**
	 * Die Beschreibung des Items.
	 */
	private String description;
	
	/**
	 * CTor. Die Methode durchlaeuft das Element und sucht
	 * einen Namen und Beschreibungstext in dem Element.
	 * 
	 * @param elem Das XML-Element das gelesen wird
	 * 
	 * @throws Dataexception Bei ungueltigen oder fehlenden Informationen 
	 */
	public Item(Element elem) throws Dataexception
	{
		super(elem); // Die ID auslesen
		
		this.name = elem.getChildText("name");
		this.description = elem.getChildText("description");
		
		if(this.name == null || this.description == null)
			throw new Dataexception("Item.processXML Data not found in XML");
	}
	
	/**
	 * Getter fuer den Namen
	 * @return
	 */
	public String getName()
	{
		return this.name;
	}
	
	/**
	 * Getter fuer die Beschreibung
	 * @return
	 */
	public String getDescription()
	{
		return this.description;
	}
}
